#pragma once
#include "vector3.h"
#include "vector4.h"
#include <string>
namespace RayTrace{

	class CMaterial
	{
	public:
		CMaterial(void);
		~CMaterial(void);
	
	public:
		vector4 m_ambient;
		vector4 m_diffuse;
		vector4 m_emission;
		vector4 m_specular;
		float  m_shininess;//percentage
		float  m_transparence;//percentage
		bool   m_textured;
		std::string m_name;
		std::string m_texName;
		

	public:
		vector4 GetAmbient() const{return m_ambient;}
		vector4 GetDiffuse() const{return m_diffuse;}
		vector4 GetEmission() const{return m_emission;}
		vector4 GetSpecular() const{return m_specular;}
		float GetShininess() const{return m_shininess;}
		float GetTransparence() const{return m_transparence;}
		bool  Textured() const{return m_textured;};
		std::string GetTexture() const{return m_texName;}
		std::string GetName() const{return m_name;}


		void SetAmbient(vector4 c){m_ambient=c;}
		void SetDiffuse(vector4 c){m_diffuse=c;}
		void SetEmission(vector4 c){m_emission=c;}
		void SetSpecular(vector4 c){m_specular=c;}
		void SetShininess(float c){m_shininess=c;}
		void SetTransparence(float c) {m_transparence=c;}
		void EnableTexture(bool b)  {m_textured=b;}
		void SetTexture(std::string name) {m_texName=name;}
		void SetName(std::string name) {m_name=name;}

	};
}